Otimização para Velocidade
Visão geral
Cada site é único, e a integração é um sistema de etapas comprovadas e necessárias, seguido de uma otimização cuidadosa com base nos requisitos específicos do seu site. Esta página oferece algumas etapas testadas e comprovadas que recolhemos de vários clientes e testes de benchmark.
Seguir as etapas descritas neste documento pode ajudar o seu site a executar a Algonomy nos níveis mais ideais. Cada site tem necessidades e desafios únicos, e a otimização deve ser realizada em colaboração com a sua equipa da Algonomy.
Os testes de benchmark dos clientes mostraram grandes reduções nos tempos de pedido e resposta ao seguir estas dicas:
-
Configure o pedido o mais cedo possível e de forma assíncrona, usando o menor número de pedidos possível.
-
Receba apenas os dados necessários.
-
Permita respostas comprimidas.
Configurar o Seu Pedido
Quando e como se chama o servidor da Personalização Omnicanal terá um grande impacto no desempenho.
Para integrações em JavaScript, siga os exemplos de integração em JavaScript.
Para chamadas de API, siga estas recomendações:
-
Efetue o pedido o mais cedo possível e de forma assíncrona. (Este é o erro mais comum que vemos nas integrações dos clientes.)
-
Faça o menor número de pedidos possível.
Receber uma Resposta Mais Pequena
Pode escolher quais as informações que são devolvidas na resposta da Algonomy, e respostas menores serão mais rápidas.
Por predefinição, o recsForPlacements devolve muitos detalhes para cada produto, mas as informações de que o seu site precisa podem ser um subconjunto muito menor desses dados. Por exemplo, se utilizar apenas objetos JSON na resposta, pode definir excludeHtml=true para que não receba HTML formatado para cada produto.
Elimine qualquer informação desnecessária da resposta da Algonomy com um ou mais destes parâmetros do recsForPlacements:
Parâmetro |
Descrição |
---|---|
excludeHtml=true
|
Verdadeiro/falso. Se definido como verdadeiro, omite o HTML devolvido na resposta do servidor de Personalização Omnicanal. Se falso, a resposta inclui o HTML para o placement, que é definido no layout, no campo html. Predefinição=false. Exemplo: excludeHtml=true |
excludeItemAttributes=true
|
Verdadeiro/falso. Se definido como verdadeiro, remove os atributos do item dos dados de produtos recomendados. Predefinição=false. Exemplo: excludeItemAttributes=true |
excludeRecItems=true
|
Verdadeiro/falso. Se definido como verdadeiro, remove completamente a estrutura de itens recomendados. Isto é útil quando ter apenas o HTML na resposta é suficiente. Predefinição=false. Exemplo: excludeRecItems=true |
returnMinimalRecItemData=true
|
Verdadeiro/falso. Se definido como verdadeiro, reduz a informação sobre os itens recomendados apenas ao ID externo e URL de clique (o mínimo de dados por item). Predefinição=false. Exemplo: returnMinimalRecItemData=true |
categoryData=false
|
Verdadeiro/falso. Se definido como falso, omite os dados da categoria na resposta. Se verdadeiro, os categoryIds e categories são devolvidos na resposta. Estado predefinido: true. Exemplo: categoryData=false |
Usar Compressão
Ao usar chamadas de API do lado do servidor, utilize clientes HTTP que suportem compressão para reduzir os tempos de pedido. Se usar chamadas de API do lado do cliente, o navegador do cliente suportará automaticamente a compressão.
Detalhes Técnicos
Mudar para um cliente que suporte compressão deverá ser uma alteração simples em código Java. Por exemplo, se usar Apache Commons, em vez de:
HttpClient client=new DefaultHttpClient(httpParameters);
usaria algo como isto:
HttpClient httpClient=new DefaultHttpClient(httpParameters);
HttpClient client=new DecompressingHttpClient(httpClient);
Para mais informações sobre compressão, consulte os seguintes artigos: